package com.lesports.qmt.sbc.param;

import com.lesports.qmt.sbc.api.common.NewsAudit;
import com.lesports.qmt.sbc.api.common.NewsPublish;
import com.lesports.qmt.sbc.api.common.NewsType;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;
import java.util.List;

/**
 * Created by denghui on 2016/10/21.
 */
public class NewsParam implements Serializable {

    private static final long serialVersionUID = -3949896482310906698L;

    private long id;
    //标题
//    @NotNull(message = "template is required")
    private String title;
    //类型
//    @NotNull(message = "template is required")
    private NewsType type;
    //频道
//    @NotNull(message = "template is required")
    private String channel;
    //栏目
//    @NotNull(message = "template is required")
    private String column;
    //发布状态
    private NewsPublish status;
    //资讯描述
    private String desc;
    //分享描述
    private String shareDesc;
    //内容
    private String content;
    //短标题
    private String shortTitle;
    //来源
//    @NotNull(message = "template is required")
    private String resource;
    //原链接
    private String sourceUrl;
    //角标
    private String superscript;
    //关键词
    private List<Long> keywordIds;
    //相关新闻Ids
    private List<Long> relatedIds;
    //视频图片
    private String images;
    //是否评论
    private boolean isComment;
    //图片描述
    private String imageDesc;
    //封面图片
    private String coverImage;
    //审核状态
    private NewsAudit audit;

    public NewsParam() {
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public NewsType getType() {
        return type;
    }

    public void setType(NewsType type) {
        this.type = type;
    }

    public String getChannel() {
        return channel;
    }

    public void setChannel(String channel) {
        this.channel = channel;
    }

    public String getColumn() {
        return column;
    }

    public void setColumn(String column) {
        this.column = column;
    }

    public NewsPublish getStatus() {
        return status;
    }

    public void setStatus(NewsPublish status) {
        this.status = status;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public String getShareDesc() {
        return shareDesc;
    }

    public void setShareDesc(String shareDesc) {
        this.shareDesc = shareDesc;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getShortTitle() {
        return shortTitle;
    }

    public void setShortTitle(String shortTitle) {
        this.shortTitle = shortTitle;
    }

    public String getResource() {
        return resource;
    }

    public void setResource(String resource) {
        this.resource = resource;
    }

    public String getSourceUrl() {
        return sourceUrl;
    }

    public void setSourceUrl(String sourceUrl) {
        this.sourceUrl = sourceUrl;
    }

    public String getSuperscript() {
        return superscript;
    }

    public void setSuperscript(String superscript) {
        this.superscript = superscript;
    }

    public List<Long> getKeywordIds() {
        return keywordIds;
    }

    public void setKeywordIds(List<Long> keywordIds) {
        this.keywordIds = keywordIds;
    }

    public List<Long> getRelatedIds() {
        return relatedIds;
    }

    public void setRelatedIds(List<Long> relatedIds) {
        this.relatedIds = relatedIds;
    }

    public String getImages() {
        return images;
    }

    public void setImages(String images) {
        this.images = images;
    }

    public boolean isComment() {
        return isComment;
    }

    public void setComment(boolean comment) {
        isComment = comment;
    }

    public String getImageDesc() {
        return imageDesc;
    }

    public void setImageDesc(String imageDesc) {
        this.imageDesc = imageDesc;
    }

    public String getCoverImage() {
        return coverImage;
    }

    public void setCoverImage(String coverImage) {
        this.coverImage = coverImage;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
    }

    public NewsAudit getAudit() {
        return audit;
    }

    public void setAudit(NewsAudit audit) {
        this.audit = audit;
    }
}
